package com.code.util;

import java.util.ArrayList;
import java.util.List;

import net.sf.ezmorph.object.DateMorpher;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;


public class JSONUtil {
	
	public static List<JSONObject> jsonToList(String json) {
		List<JSONObject> list = new ArrayList<JSONObject>();
		
		JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[]{"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd"}));
		
		JSONArray jsonArray = JSONArray.fromObject(json);
		Object[] objs = jsonArray.toArray();
		
		for (Object obj : objs) {
			JSONObject jsonObject = JSONObject.fromObject(obj);
			JSONObject temp = new JSONObject();
			for (Object key : jsonObject.keySet()) {
				if (null != jsonObject.get(key) && !"".equals(jsonObject.get(key))) {
					temp.put(key, jsonObject.get(key));
				}
			}
			
			list.add(jsonObject);
		}
		
		return list;
	}
	
	public static JSONObject jsonToObject(String json) {
		JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[]{"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd"}));
		
		JSONObject jsonObject = JSONObject.fromObject(json);
		JSONObject temp = new JSONObject();
		for (Object key : jsonObject.keySet()) {
			if (null != jsonObject.get(key) && !"".equals(jsonObject.get(key))) {
				temp.put(key, jsonObject.get(key));
			}
		}
		
		return jsonObject;
	}
	
}
